using UnityEngine;

public class TestElementReaction : MonoBehaviour
{
    [SerializeField] private GameObject _player;
    [SerializeField] private GameObject _target;

    public void Fire1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Fire,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Fire2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Fire,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Water1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Water,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Water2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Water,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Grass1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Grass,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Grass2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Grass,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Electric1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Electric,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Electric2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Electric,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Ice1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Ice,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Ice2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Ice,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Wind1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Wind,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Wind2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Wind,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Rock1()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Rock,
            ElementGauge = 1f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }

    public void Rock2()
    {
        var attackData = new AttackData
        {
            Source = _player,
            Damage = 100f,
            ElementType = ElementType.Rock,
            ElementGauge = 2f
        };
        _target.GetComponent<ActorDamageable>().TakeDamage(attackData);
    }
}